﻿procedure;
var
  SL_LuP : TStringList;
  SeznamID_LuP, IDUmisteni_LuP, ID_LuP : String;
  Index_LuP : Integer;

var
  DSCiselnikUpozorneni_KaSo: TAppDataSet;
  IDZaznamUpadek_KaSo: string;

begin
  AppServer.SetDSTransferData(SourceName,'6269,5',nttNonLicAndNonNLP,lttAll,[mtaInsert,mtaUpdate,mtaDelete],[mtaInsert]);
  AppServer.SetDSTransferData(SourceName,'6269,5',nttNonLicAndNLP,lttNonLangOrNonNLP,[mtaInsert,mtaUpdate,mtaDelete],[]);
  AppServer.SetDSTransferData(SourceName,'6269,5',nttLicAndNonNLP,lttLangOnly,[mtaInsert,mtaUpdate,mtaDelete],[]);
  AppServer.SetDSTransferData(SourceName,'6269,5',nttLicAndNLP,lttNonNLPOnly,[mtaInsert,mtaUpdate,mtaDelete],[]);
  AppServer.SetDSTransferData(SourceName,'6269,5',nttNLPOnly,lttNLPOnly,[mtaIUpdate],[]);
  AppServer.SetDSTransferData(SourceName,'9999,9999',nttNonLicAndNonNLP,lttAll,[mtaInsert,mtaUpdate,mtaDelete],[mtaInsert]);
  AppServer.SetDSTransferData(SourceName,'9999,9999',nttNonLicAndNLP,lttNonLangOrNonNLP,[mtaInsert,mtaUpdate,mtaDelete],[]);
  AppServer.SetDSTransferData(SourceName,'9999,9999',nttLicAndNonNLP,lttLangOnly,[mtaInsert,mtaUpdate,mtaDelete],[]);
  AppServer.SetDSTransferData(SourceName,'9999,9999',nttLicAndNLP,lttNonNLPOnly,[mtaInsert,mtaUpdate,mtaDelete],[]);
  AppServer.SetDSTransferData(SourceName,'9999,9999',nttNLPOnly,lttNLPOnly,[mtaIUpdate],[]);
  AppServer.SetDSTransferData(SourceName,'165587,10',nttNonLicAndNonNLP,lttAll,[mtaInsert,mtaUpdate,mtaDelete],[mtaInsert]);
  AppServer.SetDSTransferData(SourceName,'165587,10',nttNonLicAndNLP,lttNonLangOrNonNLP,[mtaInsert,mtaUpdate,mtaDelete],[]);
  AppServer.SetDSTransferData(SourceName,'165587,10',nttLicAndNonNLP,lttLangOnly,[mtaInsert,mtaUpdate,mtaDelete],[]);
  AppServer.SetDSTransferData(SourceName,'165587,10',nttLicAndNLP,lttNonNLPOnly,[mtaInsert,mtaUpdate,mtaDelete],[]);
  AppServer.SetDSTransferData(SourceName,'165587,10',nttNLPOnly,lttNLPOnly,[mtaIUpdate],[]);
  M17059359_10;  // NEMAZAT, STANDARDNI SOUCAST REINSTALACE
  AppServer.SetSQLScript(SourceName,TargetPath + 'Reinstall_1091AD.sql');
  
  
  
  //01 LuP: Naplneni typu umisteni ke skladovym sektorum (NESPOUSTET)
  SeznamID_LuP := AppServer.GetDBKeyValues(SourceName, rmPrimary, '25152789,10', '');
  if SeznamID_LuP <> '' then begin
    while Index_LuP < GetElemCount(SeznamID_LuP, ';') do begin
      IDUmisteni_LuP := ElemByIndex(SeznamID_LuP, Index_LuP, ';');
      ID_LuP := AppServer.GetDBKeyValue(SourceName, rmPrimary, '1012013,10', IDUmisteni_LuP, ftIDA, ftIDB);
      if ID_LuP <> '' then begin
        if ID_LuP <> '2407820,9' then begin
          ID_LuP := AppServer.GetDBKeyValue(SourceName, rmPrimary, '1012013,10', IDUmisteni_LuP, ftIDA, ftID);
          AppServer.DeleteDBRecord(SourceName, '1012013,10', ID_LuP, false);
          ID_LuP := '';
        end;
      end;
      if ID_LuP = '' then begin
        SL_LuP := TStringList.Create;
        try
          SL_LuP.Add('ic_a=' + LByID(IDUmisteni_LuP));
          SL_LuP.Add('u_a=' + RByID(IDUmisteni_LuP));
          SL_LuP.Add('ic_b=2407820');
          SL_LuP.Add('u_b=9');
          AppServer.InsertDBRecord(SourceName, '', '1012013,10', false, SL_LuP);
        finally
          SL_LuP.Free;
        end;
      end;
      //
      Index_LuP := Index_LuP + 1;
    end;
  end;
  //01 LuP - end



  // 02 KaSo založení záznamu Úpadek a naplnění údaje Typ upozornění = Normální (NESPOUSTET) 
  DSCiselnikUpozorneni_KaSo:=TAppDataSet.Create;
  try
    DSCiselnikUpozorneni_KaSo.SetDSParams(SourceName, rmPrimary, '39160774,10', dsaFullNonVisible);
    DSCiselnikUpozorneni_KaSo.NoMacros:=true;
    DSCiselnikUpozorneni_KaSo.Filter:='"39838413,10" is null';
    DSCiselnikUpozorneni_KaSo.Open;
    while (not DSCiselnikUpozorneni_KaSo.EOF) do begin
      DSCiselnikUpozorneni_KaSo.Edit;
      DSCiselnikUpozorneni_KaSo.FieldByName('39838413,10').AsInteger:=0; // Typ upozornění - Normální
      DSCiselnikUpozorneni_KaSo.PostNoConfirm;
      DSCiselnikUpozorneni_KaSo.Next;
    end;
    DSCiselnikUpozorneni_KaSo.Filter:='"39838413,10" = 1';
    if (DSCiselnikUpozorneni_KaSo.IsEmpty) then begin
      DSCiselnikUpozorneni_KaSo.Append;
      DSCiselnikUpozorneni_KaSo.FieldByName('39161002,10').AsString:='QI';     // Kód upozornění
      DSCiselnikUpozorneni_KaSo.FieldByName('39161003,10').AsInteger:=1;       // Použití - [Při výběru partnera do dokladu]
      DSCiselnikUpozorneni_KaSo.FieldByName('39161004,10').AsInteger:=1241103; // Pro doklady - [Poptávky vydané, Požadavky vydané na servis a údržbu, Nabídky přijaté, 
                                                                               //                  Objednávky vydané,
                                                                               //                Poptávky přijaté, Požadavky přijaté na servis a údržbu, Nabídky vydané,
                                                                               //                  Objednávky přijaté, Dodací listy vydané, Faktury vydané]
      DSCiselnikUpozorneni_KaSo.FieldByName('39838413,10').AsInteger:=1; // Typ upozornění - Úpadek
      DSCiselnikUpozorneni_KaSo.PostNoConfirm;
      IDZaznamUpadek_KaSo:=DSCiselnikUpozorneni_KaSo.GetKeyValue('', ftID);
//      DSCiselnikUpozorneni.FieldByName('39161005,10').AsString:=// Předmět upozornění - "Úpadek" (i v jiných jazycích - CZ, EN, SK)
      if (AppServer.ExistDBKeyValue(SourceName, rmPrimary, '194,0', '401,0', ftID)) then // je v DB jazyk CZ?
        AppServer.SetDBAtrValue(SourceName, '401,0', '9129,10', '6420425,10', IDZaznamUpadek_KaSo, 'Úpadek');
      if (AppServer.ExistDBKeyValue(SourceName, rmPrimary, '194,0', '402,0', ftID)) then // je v DB jazyk EN?
        AppServer.SetDBAtrValue(SourceName, '402,0', '9129,10', '6420425,10', IDZaznamUpadek_KaSo, 'Decline');
      if (AppServer.ExistDBKeyValue(SourceName, rmPrimary, '194,0', '403,0', ftID)) then // je v DB jazyk SK?
        AppServer.SetDBAtrValue(SourceName, '403,0', '9129,10', '6420425,10', IDZaznamUpadek_KaSo, 'Úpadok');
    end;
  finally
    DSCiselnikUpozorneni_KaSo.Free;
  end;
  // 02 KaSo - end
  
  // TB - begin - (NESPOUSTET)
  M39591533_10;
  M39591565_10;
  // TB - end
end.  
